package Pythagonatsystem;

// imports
import java.util.ArrayList;

// klassen defineres
public class Line {

    // privat liste til at holde liniens punkter initialiseres
    private ArrayList<Point> pointList = new ArrayList<Point>();
    private boolean isDrawn; // bool true false er linien tegnet?

    // konstruktør, sætter 2 punkter i listen ved oprettelse af instans af klassen (parses som argument)
    public Line(Point ina, Point inb) {
        pointList.add(ina);
        pointList.add(inb);
    }

    // metode som returnerer punkt A
    public Point getA() {
        return pointList.get(0);
    }

    // metode som returnerer punkt B
    public Point getB() {
        return pointList.get(1);
    }

    // metode som sætter punkt A
    public void setA(Point p) {
        pointList.get(0).setPoint(p);
    }

    // metode som sætter punkt B
    public void setB(Point p) {
        pointList.get(1).setPoint(p);
    }

    // metode til at udregne længden på linien ved hjælp af pythagoras sætning.
    public double lenght() {
        double deltaX = pointList.get(0).getX() - pointList.get(1).getX();
        double deltaY = pointList.get(0).getY() - pointList.get(1).getY();
        return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
    }

    // metode til at sætte en linie som "tegnet"
    public void setDrawn(boolean drawn) {
        isDrawn = drawn;
    }

    // returnerer om linien er teget true/false
    public boolean isDrawn() {
        return this.isDrawn;
    }
}